      SUBROUTINE COMRUL 
      include 'CHECKS.h' 
      CCHECK(1) ='Avoid comment lines after end of program unit'
      CCHECK(2) ='End all program program units with the END statement' 
      CCHECK(3) =   
     & 'Declared COMMON blocks must be used in the program unit'
      CCHECK(4) ='COMPLEX and DOUBLEPRECISION vars at end of COMMON'
      CCHECK(5) ='COMMON block definitions should not change'   
      CCHECK(6) ='Variable names should be 6 or fewer characters long'  
      CCHECK(7) ='Variables in COMMON should be 6 characters long'  
      CCHECK(8) ='Variables not in COMMON should be <6 characters'  
      CCHECK(9) ='Integer variables should begin with I to N'   
      CCHECK(10)='Variable names should not equal FORTRAN keywords' 
      CCHECK(11)='Avoid comment lines before header line'   
      CCHECK(12)=   
     &'Program unit names should not equal intrinsic function names'
      CCHECK(13)=   
     &'First statement in a program unit should be header line' 
      CCHECK(14)=   
     &'Program unit should begin with at least 3 comment lines' 
      CCHECK(15)='Comment lines should begin with a C'  
      CCHECK(16)='No comment lines between continuations'   
      CCHECK(17)='Avoid non-standard variable types eg INTEGER*2'   
      CCHECK(18)='Avoid multiple COMMON definitions per line'   
      CCHECK(19)='Do not dimension COMMON variables outside COMMON' 
      CCHECK(20)='Avoid embedded blanks in variable names'  
      CCHECK(21)='Avoid embedded blanks in syntactic entities'  
      CCHECK(22)='Avoid the use of PRINT statements (use WRITE)'
      CCHECK(23)='Do not give the END statement a label'
      CCHECK(24)='Avoid WRITE(* construction'   
      CCHECK(25)='Avoid WRITE statement in a FUNCTION'  
      CCHECK(26)='Avoid the use of PAUSE statements'
      CCHECK(27)='Statement labels should not begin in column 1'
      CCHECK(28)='Always precede STOP by a descriptive WRITE'   
      CCHECK(29)='Avoid the use of ENTRY in FUNCTIONS'  
      CCHECK(30)='Avoid using I/O in FUNCTIONs' 
      CCHECK(31)='Avoid the use of the alternate RETURN statement'  
      CCHECK(32)='COMMON block names should not equal variable names'   
      CCHECK(33)='Avoid use of obsolete CERN library routines'  
      CCHECK(34)='Avoid FUNCTION names the same as intrinsics'  
      CCHECK(35)='Local functions should be declared EXTERNAL'  
      CCHECK(36)='program unit names should all be different'   
      CCHECK(37)='Avoid expressions of mixed mode eg A=B/I' 
      CCHECK(38)='Length of passed CHARACTER variables should be *' 
      CCHECK(39)='Order of statements should conform to note'   
      CCHECK(40)='Separate Statement Functions by comment lines'
      CCHECK(41)='No names in Statement Function definitions elsewhere' 
      CCHECK(42)='Use LLT,LGT etc to compare CHARACTER vars. in IFs'
      CCHECK(43)='Variables (not COMMON, not PARAMs) <6 characters' 
      CCHECK(44)=   
     & 'Passed arguments should be dimensioned * in program unit'   
      DO 1 IRULE=45,MCHEKS  
        CCHECK(IRULE) ='$$$$'   
        LCHECK(IRULE) =.FALSE.  
    1 CONTINUE  
      RETURN
      END   
